'''
  new   分配内存，分会对象的引用（）
'''
# object
class A:
    def __new__(cls,*args,**kwargs):
        print('__new__')

        print(args[0])
        if(args[0]>0 and args[0]<=18):
            return super().__new__(cls)#这里一定要返回，否则__init__()方法不会被执行
        else:
            print("数据异常不创建对象")
            # return None
    def __init__(self,age):#这里的self就是new方法中的return返回值
        print('__init__')


a = A(17)
print(a)